// Generated from java-escape by ANTLR 4.11.1
package com.lan.antlr;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link ScriptParser}.
 */
public interface ScriptListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link ScriptParser#name}.
	 * @param ctx the parse tree
	 */
	void enterName(ScriptParser.NameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#name}.
	 * @param ctx the parse tree
	 */
	void exitName(ScriptParser.NameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#variableDeclarators}.
	 * @param ctx the parse tree
	 */
	void enterVariableDeclarators(ScriptParser.VariableDeclaratorsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#variableDeclarators}.
	 * @param ctx the parse tree
	 */
	void exitVariableDeclarators(ScriptParser.VariableDeclaratorsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#variableDeclarator}.
	 * @param ctx the parse tree
	 */
	void enterVariableDeclarator(ScriptParser.VariableDeclaratorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#variableDeclarator}.
	 * @param ctx the parse tree
	 */
	void exitVariableDeclarator(ScriptParser.VariableDeclaratorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#variableDeclaratorId}.
	 * @param ctx the parse tree
	 */
	void enterVariableDeclaratorId(ScriptParser.VariableDeclaratorIdContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#variableDeclaratorId}.
	 * @param ctx the parse tree
	 */
	void exitVariableDeclaratorId(ScriptParser.VariableDeclaratorIdContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#variableInitializer}.
	 * @param ctx the parse tree
	 */
	void enterVariableInitializer(ScriptParser.VariableInitializerContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#variableInitializer}.
	 * @param ctx the parse tree
	 */
	void exitVariableInitializer(ScriptParser.VariableInitializerContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#arrayInitializer}.
	 * @param ctx the parse tree
	 */
	void enterArrayInitializer(ScriptParser.ArrayInitializerContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#arrayInitializer}.
	 * @param ctx the parse tree
	 */
	void exitArrayInitializer(ScriptParser.ArrayInitializerContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#jsonInitializer}.
	 * @param ctx the parse tree
	 */
	void enterJsonInitializer(ScriptParser.JsonInitializerContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#jsonInitializer}.
	 * @param ctx the parse tree
	 */
	void exitJsonInitializer(ScriptParser.JsonInitializerContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#jsonArr}.
	 * @param ctx the parse tree
	 */
	void enterJsonArr(ScriptParser.JsonArrContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#jsonArr}.
	 * @param ctx the parse tree
	 */
	void exitJsonArr(ScriptParser.JsonArrContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#jsonObj}.
	 * @param ctx the parse tree
	 */
	void enterJsonObj(ScriptParser.JsonObjContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#jsonObj}.
	 * @param ctx the parse tree
	 */
	void exitJsonObj(ScriptParser.JsonObjContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#jsonPair}.
	 * @param ctx the parse tree
	 */
	void enterJsonPair(ScriptParser.JsonPairContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#jsonPair}.
	 * @param ctx the parse tree
	 */
	void exitJsonPair(ScriptParser.JsonPairContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#jsonValue}.
	 * @param ctx the parse tree
	 */
	void enterJsonValue(ScriptParser.JsonValueContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#jsonValue}.
	 * @param ctx the parse tree
	 */
	void exitJsonValue(ScriptParser.JsonValueContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#literal}.
	 * @param ctx the parse tree
	 */
	void enterLiteral(ScriptParser.LiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#literal}.
	 * @param ctx the parse tree
	 */
	void exitLiteral(ScriptParser.LiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#classDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterClassDeclaration(ScriptParser.ClassDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#classDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitClassDeclaration(ScriptParser.ClassDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#classBody}.
	 * @param ctx the parse tree
	 */
	void enterClassBody(ScriptParser.ClassBodyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#classBody}.
	 * @param ctx the parse tree
	 */
	void exitClassBody(ScriptParser.ClassBodyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#classBodyDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterClassBodyDeclaration(ScriptParser.ClassBodyDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#classBodyDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitClassBodyDeclaration(ScriptParser.ClassBodyDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#functionDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterFunctionDeclaration(ScriptParser.FunctionDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#functionDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitFunctionDeclaration(ScriptParser.FunctionDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#functionBody}.
	 * @param ctx the parse tree
	 */
	void enterFunctionBody(ScriptParser.FunctionBodyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#functionBody}.
	 * @param ctx the parse tree
	 */
	void exitFunctionBody(ScriptParser.FunctionBodyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#formalParameters}.
	 * @param ctx the parse tree
	 */
	void enterFormalParameters(ScriptParser.FormalParametersContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#formalParameters}.
	 * @param ctx the parse tree
	 */
	void exitFormalParameters(ScriptParser.FormalParametersContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#formalParameterList}.
	 * @param ctx the parse tree
	 */
	void enterFormalParameterList(ScriptParser.FormalParameterListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#formalParameterList}.
	 * @param ctx the parse tree
	 */
	void exitFormalParameterList(ScriptParser.FormalParameterListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#fieldDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterFieldDeclaration(ScriptParser.FieldDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#fieldDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitFieldDeclaration(ScriptParser.FieldDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#prog}.
	 * @param ctx the parse tree
	 */
	void enterProg(ScriptParser.ProgContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#prog}.
	 * @param ctx the parse tree
	 */
	void exitProg(ScriptParser.ProgContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#block}.
	 * @param ctx the parse tree
	 */
	void enterBlock(ScriptParser.BlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#block}.
	 * @param ctx the parse tree
	 */
	void exitBlock(ScriptParser.BlockContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#blockStatements}.
	 * @param ctx the parse tree
	 */
	void enterBlockStatements(ScriptParser.BlockStatementsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#blockStatements}.
	 * @param ctx the parse tree
	 */
	void exitBlockStatements(ScriptParser.BlockStatementsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#blockStatement}.
	 * @param ctx the parse tree
	 */
	void enterBlockStatement(ScriptParser.BlockStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#blockStatement}.
	 * @param ctx the parse tree
	 */
	void exitBlockStatement(ScriptParser.BlockStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterStatement(ScriptParser.StatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitStatement(ScriptParser.StatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#forControl}.
	 * @param ctx the parse tree
	 */
	void enterForControl(ScriptParser.ForControlContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#forControl}.
	 * @param ctx the parse tree
	 */
	void exitForControl(ScriptParser.ForControlContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#forInit}.
	 * @param ctx the parse tree
	 */
	void enterForInit(ScriptParser.ForInitContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#forInit}.
	 * @param ctx the parse tree
	 */
	void exitForInit(ScriptParser.ForInitContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#parExpression}.
	 * @param ctx the parse tree
	 */
	void enterParExpression(ScriptParser.ParExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#parExpression}.
	 * @param ctx the parse tree
	 */
	void exitParExpression(ScriptParser.ParExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#expressionList}.
	 * @param ctx the parse tree
	 */
	void enterExpressionList(ScriptParser.ExpressionListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#expressionList}.
	 * @param ctx the parse tree
	 */
	void exitExpressionList(ScriptParser.ExpressionListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#functionCall}.
	 * @param ctx the parse tree
	 */
	void enterFunctionCall(ScriptParser.FunctionCallContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#functionCall}.
	 * @param ctx the parse tree
	 */
	void exitFunctionCall(ScriptParser.FunctionCallContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterExpression(ScriptParser.ExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitExpression(ScriptParser.ExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#primary}.
	 * @param ctx the parse tree
	 */
	void enterPrimary(ScriptParser.PrimaryContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#primary}.
	 * @param ctx the parse tree
	 */
	void exitPrimary(ScriptParser.PrimaryContext ctx);
}